#include "commdef.h"
#include "lib/stringex.h"

bool WaitObject::TryNotify(std::shared_ptr<IProtocolMessage> msg)
{
    if(m_protocol == nullptr)
        return false;
    if(m_sendMsg == nullptr)
        return false;
    
    if(msg == nullptr)
        return false;
    if(m_isNotify == true)
        return false;

    if(m_protocol->IsResponse(m_sendMsg, m_recvMsg))
    {
        m_recvMsg = msg;
        m_isNotify = true;
        m_sem.Release();
        return true;
    }

    return false;
}
